Extreme Learning Machine
どういうものか
ニューラルネットワークの一種
隠しレイヤーは1層
入力レイヤーと隠しレイヤー間のパラメータは乱数で固定
隠しレイヤーと出力レイヤー間のパラメータ
ここだけが学習させる対象
学習させるパラメータは1箇所だけ
入力
学習データ $ x_j, $ t_j (j=1...N)
活性化関数 $ g
sigmoid
$ G(a_i, b_i, x) = g(a_ix+b_i)
$ g(x) = \frac{1}{1 + e^{-x}}
隠れノード数 $ L
ステップ1
$ a_i, $ b_i (i=1...L)をランダムに生成
$ a は L*d行列 (dはカラム数)
ステップ2
隠れ層の出力行列Hを求める
$ h(x) = \left( G(a_1, b_1, x), ..., G(a_L, b_L, x) \right)
$ H = \left( \begin{array}{c} h(x_1) \\ \vdots \\ h(x_N) \end{array} \right)
ステップ3
$ T=H\beta の解 $ \beta を求める
$ \beta = H^{-1}T
参考
Extreme Learning Machine for Regression and Multiclass Classification
Python での実装
High performance implementation of Extreme Learning Machines
IEEE に論文あった
RBF_L1 ???
$ e^{\frac{-(ax)^2}{b}}